iT邦幫忙

2024 iThome 鐵人賽

DAY 11
0
佛心分享-SideProject30

用 Next.js 實作屋況查詢評估專家網站系列 第 11

[Day 11] 後端環境建置-Apollo GraphQL Server

  • 分享至 

  • xImage
  •  

前言:
前幾天針對流程部分進行了構想,由畫面去延伸,從前端到後端建置流程中需要做的功能有哪些。這樣不僅讓我清>楚知道具體要做的事情,使專案推進更順利,也讓整個網站設計架構更清晰。

接下來,我覺得不急著開專案撰寫程式,前面的基礎知識了解掌握一下也是滿重要的。這一次我想要透過之前一直想學習的 GraphQL 當作後端應用,那我先從最基本的前端要跟後端 API 拿資料開始了解。

Apollo GraphQL Server 基本建置
首先,我使用的是由 Node.js 的一個套件 apollo-server 架設的一個服務。它在建置 API 時有分兩種操作:Query 和 Mutation。相較於 REST 中的 GET、POST、PUT、DELETE,可以理解成 GET 就是 Query,其餘的操作都是 Mutation。

https://ithelp.ithome.com.tw/upload/images/20240811/20132295tTIIrwTLjV.png

安裝 Apollo Server

  npm install apollo-server graphql

建立基本的 Apollo Server

const { ApolloServer, gql } = require('apollo-server');

// 定義 Schema
const typeDefs = gql`
  type Query {
    hello: String
  }
`;

// 定義 Resolvers
const resolvers = {
  Query: {
    hello: () => 'Hello world!',
  },
};

// 建立 Apollo Server
const server = new ApolloServer({ typeDefs, resolvers });

// 啟動 Server
server.listen().then(({ url }) => {
  console.log(`Server ready at ${url}`);
});

從上述可以知道,如果後續要開一條API給前端,步驟是:

  • 定義Schema結構
  • 定義Type(幫API 取function名稱)
  • 實作resolver(將剛剛取的function名稱撰寫他要做的事情)

參考資源

參考筆記


上一篇
[Day 10] 流程發想(二)-成為合作專家篇
下一篇
[Day 12] 後端環境建置-我的第一支API
系列文
用 Next.js 實作屋況查詢評估專家網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言